/************** Zhihui *****************/
#pragma once
#include "RegionCalculator.h"

namespace ieda_contest {

class ContestDataManager;

class OptimalRegion : public RegionCalculator {
public:
    // 构造函数
    OptimalRegion(ContestDataManager* data_manager);
    // return {BeginRowIdx, EndRowIdx, BeginColIdx, EndColIdx}
    std::tuple<int, int, int, int>
    getRegion(idb::IdbInstance *Cell) override;
    ~OptimalRegion() = default;

private:
    ContestDataManager* _data_manager = nullptr;  // 指向 DataManager 实例的指针

};
} // namespace ieda_contest